using System.Collections;
using System.Collections.Generic;
using QFramework;
using UnityEngine;

/// <summary>
/// 游戏物体控制器，用来控制游戏掉落物体碰撞器的开启和关闭，优化游戏性能
/// </summary>
public abstract class GameplayObject : ViewController
{
	protected abstract Collider2D Collider2D { get; }
	
	// OnBecameVisible 是一个 MonoBehaviour 的回调方法，当对象变为可见状态时，这个方法会被调用。
	// 这个方法常常用于优化性能，例如，当对象不在摄像机视野内时，你可以停止更新该对象。
	
	/// <summary>
	/// 当对象变为可见状态时，开启碰撞器
	/// </summary>
    private void OnBecameVisible()
    {
	    Collider2D.enabled=true;
    }

	/// <summary>
	/// 当对象变为不可见状态时，关闭碰撞器
	/// </summary>
    private void OnBecameInvisible()
    {
	    Collider2D.enabled=false;
    }
}
